package lib

func init() {
	Probs = append(Probs, Problem{
		Num:         387,
		Discription: "找到字符串中第一个不重复的字符",
		Level:       1,
		Labels: map[string]int{
			"哈希表": 1,
		},
	})
}

//有序哈希表的一种代替
//先正常遍历一遍记录每个字符的个数
//再按正常的顺序遍历返回第一个个数为1的字符
func FirstUniqChar(s string) int {
	chs := make([]int, 26)
	for i := range s {
		chIndex := int(s[i] - 'a')
		chs[chIndex]++
	}

	for i := range s {
		chIndex := int(s[i] - 'a')
		if chs[chIndex] == 1 {
			return i
		}
	}

	return -1
}
